Information processing apparatus and information processing method

ABSTRACT

An information processing apparatus includes the device image processor being configured to receive the plurality of device image definitions and the plurality of device offset information definitions from the device image module, read, from the device configuration definition, a plurality of device image parts defined by the plurality of received device image definitions, respectively, arrange the plurality of read device image parts on a plurality of offset positions defined by the plurality of received device offset information definitions, respectively, to thereby generate a composite image, the composite image showing a status where the one or more devices and the recommended device are attached to the image forming apparatus, and cause the software executing module to display the composite image on the display device.

FIELD OF THE DISCLOSURE

The present disclosure relates to an information processing apparatusconfigured to drive and/or manage an image forming apparatus and displayan image of the image forming apparatus on a display device. The presentdisclosure further relates to an information processing method.

BACKGROUND OF THE DISCLOSURE

When an information processing apparatus (personal computer) executes asoftware program for driving and/or managing an image forming apparatus,the information processing apparatus displays images showing the imageforming apparatus and devices attached to the image forming apparatus ona display device.

SUMMARY OF THE DISCLOSURE

According to an embodiment of a present disclosure, there is provided aninformation processing apparatus, including:

a communication interface configured to communicate with an imageforming apparatus;

a display device;

a storage device that stores device configuration definitions including

-   -   a plurality of device image parts indicating the image forming        apparatus and one or more devices physically attachable to the        image forming apparatus, respectively,    -   a plurality of device image definitions defining the plurality        of device image parts with respect to a plurality of device        identifiers identifying the image forming apparatus and the one        or more devices, respectively, and    -   a plurality of device offset information definitions defining        offset amounts with respect to the plurality of device        identifiers, respectively, the offset amounts indicating        relative positions of the plurality of device image parts,        respectively; and

a processor configured to operate as

-   -   a device image processor carried out by a software executing        module, the software executing module being configured to        execute a software program for driving and/or managing the image        forming apparatus on an OS (Operation System),    -   a device status processor carried out by the software executing        module,    -   an analyzer module configured to communicate with the device        status processor, and    -   a device image module configured to communicate with the device        image processor,

the device status processor being configured to

-   -   receive, from the image forming apparatus, a plurality of device        identifiers identifying the image forming apparatus and one or        more devices actually attached to the image forming apparatus,        respectively, and status information being information of a        status of the image forming apparatus, and    -   send the plurality of device identifiers and the status        information to the analyzer module,

the analyzer module being configured to

-   -   receive the plurality of device identifiers and the status        information from the device status processor,    -   analyze the status information to thereby determine an error        occurred in one of the image forming apparatus and the one or        more devices,    -   determine, on a basis of the determined error, a recommended        device being a device to be attached to the image forming        apparatus, and    -   send, to the device status processor, a recommended device        identifier being a device identifier identifying the recommended        device determined,

the device status processor being configured to

-   -   receive the recommended device identifier from the analyzer        module, and    -   supply the plurality of device identifiers and the recommended        device identifier to the device image processor,

the device image processor being configured to

-   -   obtain the plurality of device identifiers and the recommended        device identifier from the device status processor, and    -   send the plurality of obtained device identifiers and the        obtained recommended device identifier to the device image        module,

the device image module being configured to

-   -   receive the plurality of device identifiers and the recommended        device identifier from the device image processor,    -   read, from the device configuration definition, a plurality of        device image definitions defined with respect to the plurality        of received device identifiers and the recommended device        identifier, respectively,    -   read, from the device configuration definition, a plurality of        device offset information definitions defined with respect to        the plurality of received device identifiers and the recommended        device identifier, respectively, and    -   send, to the device image processor, the plurality of read        device image definitions and the plurality of read device offset        information definitions,

the device image processor being configured to

-   -   receive the plurality of device image definitions and the        plurality of device offset information definitions from the        device image module,    -   read, from the device configuration definition, a plurality of        device image parts defined by the plurality of received device        image definitions, respectively,    -   arrange the plurality of read device image parts on a plurality        of offset positions defined by the plurality of received device        offset information definitions, respectively, to thereby        generate a composite image, the composite image showing a status        where the one or more devices and the recommended device are        attached to the image forming apparatus, and    -   cause the software executing module to display the composite        image on the display device.

These and other objects, features and advantages of the presentdisclosure will become more apparent in light of the following detaileddescription of best mode embodiments thereof, as illustrated in theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a hardware configuration of an information processingapparatus according to an embodiment of the present disclosure;

FIG. 2 shows a functional configuration of the information processingapparatus;

FIG. 3 shows a data structure of a device configuration definition;

FIG. 4 shows examples of a plurality of device image parts and aplurality of error image parts;

FIG. 5 shows a partial operational sequence of the informationprocessing apparatus;

FIG. 6 shows a first operational flow of the information processingapparatus;

FIG. 7 shows a second operational flow of the information processingapparatus; and

FIG. 8 shows examples of composite images.

DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS

Hereinafter, an embodiment of the present disclosure will be describedwith reference to the drawings.

1. Hardware Configuration of Information Processing Apparatus

FIG. 1 shows a hardware configuration of an information processingapparatus according to an embodiment of the present disclosure.

The information processing apparatus 10 is, typically, a personalcomputer or a tablet device. The information processing apparatus 10includes the CPU (Central Processing Unit) 11 (processor), the ROM (ReadOnly Memory) 12 (memory), the RAM (Random Access Memory) 13, the storagedevice 14 (memory), the communication interface 15, the operation device16, the display device 17, and the bus 18 connecting them each other.

The CPU 11 (processor) loads a plurality of information processingprograms stored in the ROM 12 (memory) in the RAM 13 and executes theinformation processing programs. The ROM 12 fixedly stores the programsexecuted by the CPU 11, data, and the like. The ROM 12 is an example ofa non-transitory computer readable recording medium.

The storage device 14 is a large-volume recording medium such as an HDD(Hard Disk Drive) and an SSD (Solid State Drive). The storage device 14includes an external recording medium such as a USB (Universal SerialBus) memory.

The operation device 16 includes a touch pad, a keyboard, a mouse,various switches, and the like. The operation device 16 detectsoperations input by a user, and outputs signals to the CPU 11. Theoperation device 16 is an embodiment of an input device. The informationprocessing apparatus 10 may include, as an input device, a sound inputdevice such as a microphone.

The display device 17 includes an LCD, an organic EL display, or thelike. The display device 17 receives information from the CPU 11,executes computing process on the basis of the received information, anddisplays generated image signals on a screen. The display device 17 maybe an external display device.

The communication interface 15 is an interface for connecting to thenetwork N. The communication interface 15 is capable of communicatingwith the image forming apparatus 20 the network N such as the Internetor a LAN (Local Area Network).

The image forming apparatus 20 is, typically, an MFP (MultifunctionPeripheral) or a production printer. One or more devices (in the presentembodiment, a plurality of devices) (paper cassettes, finishers, etc.Not shown.) are physically attachable to the image forming apparatus 20.The “physically attachable devices” are, in other words, physicallydetachable from the image forming apparatus 20.

2. Functional Configuration of Information Processing Apparatus

FIG. 2 shows a functional configuration of the information processingapparatus.

The CPU 11 of the information processing apparatus 10 executes the OS(Operation System) 100. The OS 100 is a platform such as Windows(registered trademark), Mac (registered trademark), or Linux (registeredtrademark), for example.

The software executing module 110 executes a software program fordriving and/or managing the image forming apparatus 20 on the OS 100.Therefore a software program executed by the software executing module110 is different according to each type of the OS 100, i.e., depends onthe type of the OS 100. An example of the “software program for drivingthe image forming apparatus 20” is a printer driver. For example, aprinter driver is configured to display a menu window image including aplurality of items on the display device 17, determine one item selectedvia the operation device 16, and cause the image forming apparatus 20 toexecute an operation depending on the selected item. An example of the“software program for managing the image forming apparatus 20” is adevice manager software. For example, a device manager software programis configured to display, on the display device 17, a window showingproperties or errors of the image forming apparatus 20 and a pluralityof devices actually attached to the image forming apparatus 20.

The software executing module 110 carries out the device image processor111 and the device status processor 112 as sub modules. The device imageprocessor 111 and the device status processor 112 are also differentaccording to each type of the OS 100, i.e., depends on the type of theOS 100.

The device status processor 112 receives a plurality of deviceidentifiers and status information from the image forming apparatus 20via the communication interface 15. The plurality of device identifiersidentify the image forming apparatus 20 and a plurality of devicesactually attached to the image forming apparatus 20, respectively. Thestatus information is information of the status of the image formingapparatus 20. The “status information” includes, for example, the deviceconfiguration, the counter, the statuses of consumable items (forexample, toner levels), the error status, and the like.

When the software executing module 110 displays the aforementionedwindow on the display device 17, the device image processor 111generates images of the image forming apparatus 20 and the plurality ofdevices actually attached to the image forming apparatus 20 and an imageof a recommended device on the basis of information received by thedevice status processor 112. The recommended device is a device to beattached to the image forming apparatus 20.

The CPU 11 of the information processing apparatus 10 further executesthe device image module 200 and the analyzer module 400. The deviceimage module 200 and the analyzer module 400 are common to every type ofthe OS 100, i.e., are independent of the type of the OS 100.

The analyzer module 400 determines an error occurred in one of the imageforming apparatus 20 and the plurality of devices on the basis of theplurality of device identifiers and the status information received bythe device status processor 112 from the image forming apparatus 20.

The device image module 200 supplies, to the device image processor 111,a plurality of image parts that configure images to be displayed on thedisplay device 17 and other information.

The device image module 200 includes the image configuration determiningmodule 201 and the error information determining module 202. The imageconfiguration determining module 201 and the error informationdetermining module 202 determine a plurality of image parts and otherinformation to be supplied to the device image processor 111 withreference to the plurality of device configuration definitions 300stored in the storage device (the operations will be described laterwith reference to operational flows).

The storage device 14 stores the plurality of device configurationdefinitions 300. The plurality of device configuration definitions 300are in one-to-one association with a plurality of model identifiers,respectively, the plurality of model identifiers identifying a pluralityof models of the image forming apparatus 20, respectively. Each deviceconfiguration definition 300 is described in XML (Extensible MarkupLanguage).

3. Data Structure of Device Configuration Definition

FIG. 3 shows a data structure of a device configuration definition.

One device configuration definition 300 will be described. One deviceconfiguration definition 300 is stored in the storage device 14 inassociation with a model identifier identifying one specific model ofthe image forming apparatus 20. The device configuration definition 300includes the image part group 310, the device image definition group320, the device error definition group 330, and the offset informationdefinition group 350.

The image part group 310 includes the plurality of device image parts311 and the one or more error image parts 312 (in the presentembodiment, the plurality of error image parts 312). Those image parts311 and 312 are, for example, PNG (Portable Network Graphics) images.

FIG. 4 shows examples of a plurality of device image parts and aplurality of error image parts.

The plurality of device image parts 311 show the image forming apparatus20 and a plurality of devices physically attachable to the image formingapparatus 20, respectively. In the examples of FIG. 4, the plurality ofdevice image parts 311 are images showing bodies of the image formingapparatus 20, paper cassettes, a platen, a booklet, a bridge, a base,mail boxes, and the like, respectively. A plurality of different deviceimage parts 311 may be prepared for one device. For example, there maybe prepared a device image part 311 showing a status where one papercassette is closed and another device image part 311 showing a statuswhere the same paper cassette is open.

The plurality of error image parts 312 show errors, respectively. In theexamples of FIG. 4, the plurality of error image parts 312 includearrows in different directions, and images of icons showing combinationsof devices and arrows, respectively. The plurality of error image parts312 may further include images of icons showing marks each including acombination of an object showing a trouble or an alert, a symbol, and acolor (red, yellow, etc.). The plurality of error image parts 312 mayfurther include texts (messages) indicating troubles or alerts. Further,for example, with respect to one paper cassette, one device image part311 showing a status where one paper cassette is closed may be used as adevice image part 311 showing the normal status. Meanwhile, anotherdevice image part 311 showing a status where the same paper cassette isopen may be used as an error image part 312.

The device image definition group 320 includes the plurality of deviceimage definitions 321. The plurality of device image definitions 321define the plurality of device image parts 311 with respect to aplurality of device identifiers, respectively, the plurality of deviceidentifiers identifying the image forming apparatus 20 and the pluralityof devices, respectively. Specifically, the device image definition 321is information for making a device identifier, which identifies theimage forming apparatus 20 or a device, and a device image part 311 inassociation with each other. More specifically, the device imagedefinition 321 defines, for example, an image file name of one deviceimage part 311 with respect to one device identifier.

The device error definition group 330 includes the plurality of deviceerror definitions 331. The plurality of device error definitions 331define the plurality of error image parts 312 with respect to one ormore error identifiers, respectively, the one or more error identifiersidentifying a plurality of error types, respectively. Specifically, thedevice error definition 331 is information making an error identifier(for example, error code) identifying a type of an error, which actuallyoccurred in the image forming apparatus 20 or a device, and an errorimage part 312 in association with each other. More specifically, thedevice error definition 331 defines, for example, one error image part312 with respect to one error identifier (for example, error code).

The offset information definition group 350 includes the plurality ofdevice offset information definitions 351 and the plurality of erroroffset information definitions 352.

The plurality of device offset information definitions 351 define offsetamounts with respect to the plurality of device identifiers,respectively, the offset amounts indicating relative positions of theplurality of device image parts 311, respectively. Specific examples ofthe “offset amounts” will be described. For example, a predeterminedposition of the device image part 311 showing the body of the imageforming apparatus 20 is treated as the origin of the XY coordinate. The“predetermined position” may be, for example, the center point, theleft-top corner point, or the like of the device image part 311. Inorder to composite the device image part 311 showing the body of theimage forming apparatus 20 and the device image part 311 of the papercassette actually attached to the image forming apparatus 20 and displaythe composite image on the display device 17, the device image part 311of the paper cassette is offset with respect to the center of the deviceimage part 311 showing the body of the image forming apparatus 20 by acertain amount (XY value). The offset amount means this amount (XYvalue).

The plurality of error offset information definitions 352 definerelative positions of the plurality of error image parts 312 withrespect to the plurality of device image parts 311, respectively, withrespect to combinations of a plurality of error identifiers and aplurality of device identifiers, respectively. A specific example willbe described. For example, with respect to a combination of an erroridentifier identifying an error “paper jam” and a device identifieridentifying a device “paper cassette”, the error image part 312 isoffset with respect to the center of the device image part 311 of thebody of the image forming apparatus 20. At this time, the offset amountmay be, for example, approximately the same as the amount (XY value) bywhich the device image part 311 of the paper cassette is offset withrespect to the center of the device image part 311 showing the body ofthe image forming apparatus 20. As a result, the error image part 312 isdisplayed on the device image part 311 of the paper cassette (i.e.,location in which error occurs).

4. Operation of Information Processing Apparatus

FIG. 5 shows a partial operational sequence of the informationprocessing apparatus. FIG. 6 shows a first operational flow of theinformation processing apparatus.

The device status processor 112, for example, periodically (every fiveminutes, etc.), sends, to the image forming apparatus 20 being drivenand/or managed, via the network N, a request for supplying a modelidentifier identifying a model of the image forming apparatus 20, aplurality of device identifiers identifying a plurality of devicesactually attached to the image forming apparatus 20, respectively, andstatus information being information of a status of the image formingapparatus 20 (Step S101). The device status processor 112 receives, fromthe image forming apparatus 20 via the network N, a model identifier, aplurality of device identifiers, and status information, and stores themodel identifier, the plurality of device identifiers, and the statusinformation (Step S102). For example, communication between the devicestatus processor 112 and the image forming apparatus 20 may be carriedout by SNMP (Simple Network Management Protocol) and SOAP (Simple ObjectAccess Protocol). Alternatively, if the information processing apparatus10 is connected to the image forming apparatus 20 not via the network N(e.g., connected via USB), communication between the device statusprocessor 112 and the image forming apparatus 20 may be carried out by,for example, PJL (Printer Job Language). The device status processor 112sends, to the analyzer module 400, the received model identifier, theplurality of received device identifiers, and the received statusinformation (Step S103).

The analyzer module 400 receives the model identifier, the plurality ofdevice identifiers, and the status information from the device statusprocessor 112, and stores them in a local or external storage device(Step S104). The analyzer module 400 analyzes the status information,and determines an error (for example, paper empty) occurred in one ofthe image forming apparatus 20 and the plurality of devices (Step S105).The analyzer module 400 stores information about the occurred error in alocal or external storage device (Step S106). The “information about theoccurred error” includes an error identifier identifying the determinederror, an error device identifier, which is a device identifieridentifying one of the image forming apparatus 20 and one or moredevices in which the error occurred, and the like.

FIG. 7 shows a second operational flow of the information processingapparatus.

The device image processor 111 requests the device status processor 112for the model identifier and the plurality of device identifiersreceived from the image forming apparatus 20 and the recommended devicedetermined by the analyzer module 400 (Step S107).

The device status processor 112 receives the request from the deviceimage processor 111. The device status processor 112 reads the newestmodel identifier and plurality of device identifiers (Step S108), whichare received from the image forming apparatus 20 and stored (Step S102).The device status processor 112 requests the analyzer module 400 for arecommended device (Step S109).

The analyzer module 400 receives the request, and then determines arecommended device on the basis of the stored error information (StepS106). The “recommended device” is a device, which is not attached tothe image forming apparatus 20 actually but is to be attached to theimage forming apparatus 20. For example, if error information indicatingpaper empty is stored extremely frequently, the analyzer module 400determines a paper feeder physically attachable to the image formingapparatus 20 as a recommended device. In short, if the “recommendeddevice” is attached to the image forming apparatus 20, then it ispredicted that the error unique to the image forming apparatus 20 is tobe solved. The analyzer module 400 sends the device identifier(recommended device identifier) identifying the determined recommendeddevice to the device status processor 112 (Step S110).

The device status processor 112 receives the recommended deviceidentifier from the analyzer module 400. The device status processor 112supplies the recommended device identifier received from the analyzermodule 400 and the model identifier and the plurality of deviceidentifiers received from the image forming apparatus 20 to the deviceimage processor 111 (Step S111).

The device image processor 111 obtains the model identifier and theplurality of device identifiers received from the image formingapparatus 20 by the device status processor 112 and the recommendeddevice identifier received from the analyzer module 400 (Step S112). Thedevice image processor 111 sends the model identifier, the plurality ofdevice identifiers, and the recommended device identifier to the deviceimage module 200 (Step S113). For example, the device image processor111 may send, to the device image module 200, the model identifier, theplurality of device identifiers, and the recommended device identifierby using an initialization function (JSON (JavaScript Object Notation)).

The device image module 200 receives the model identifier, the pluralityof device identifiers, and the recommended device identifier from thedevice image processor 111 (Step S114). The image configurationdetermining module 201 of the device image module 200 selects the onedevice configuration definition 300 in association with the receivedmodel identifier (Step S115). The image configuration determining module201 reads, from the device image definition group 320 of the selecteddevice configuration definition 300, the plurality of device imagedefinitions 321 defined with respect to the plurality of received deviceidentifiers and recommended device identifier, respectively (Step S116).The image configuration determining module 201 reads, from the offsetinformation definition group 350 of the device configuration definition300, the plurality of device offset information definitions 351 definedwith respect to the plurality of device identifiers and the receivedrecommended device identifier, respectively (Step S117). The deviceimage module 200 sends, to the device image processor 111, the pluralityof device image definitions 321 and the plurality of device offsetinformation definitions 351 read by the image configuration determiningmodule 201 (Step S118).

The device image processor 111 receives, from the device image module200, the plurality of device image definitions 321 and the plurality ofdevice offset information definitions 351 (Step S119). The device imageprocessor 111 reads, from the image part group 310 of the deviceconfiguration definition 300, the plurality of device image parts 311defined by the plurality of received device image definitions 321,respectively (Step S120).

The device image processor 111 arranges the plurality of read deviceimage parts 311 on a plurality of offset positions defined by theplurality of received device offset information definitions 351,respectively. As a result, the device image processor 111 generates acomposite image including the plurality of device image parts 311 (StepS121). Specifically, the device image processor 111 generates acomposite image showing a status where the plurality of devices (whichare actually attached) and the recommended device (which is not attachedactually) are attached to the image forming apparatus 20. The deviceimage processor 111 may generate, as a composite image, a compositeimage including a message for advising to use (for advising to purchaseor rent) the recommended device. The device image processor 111 maygenerate, as a composite image, a different composite image includingshowing a status where only the plurality of devices (which are actuallyattached) are attached to the image forming apparatus 20.

The device image processor 111 causes the software executing module 110to display the generated composite image on the display device 17 (StepS122).

FIG. 8 shows examples of composite images.

The first composite image 501 generated by the device image processor111 includes the plurality of device image parts 311. The plurality ofdevice image parts 311 include the plurality of device image parts 311Ashowing the device actually attached to the image forming apparatus 20and the image forming apparatus 20, respectively. The plurality ofdevice image parts 311 further include the device image part 311Bshowing the recommended device which is not attached to the imageforming apparatus 20 actually. The first composite image 501 furtherincludes the message 312 for advising to use (advising to purchase orrent) the recommended device.

The second composite image 502 generated by the device image processor111 only includes the plurality of device image parts 311A showing thedevice actually attached to the image forming apparatus 20 and the imageforming apparatus 20, respectively. As a result, it is easy for a userto know, at first sight, the difference between the status where therecommended device is attached to the image forming apparatus 20 (thefirst composite image 501) and the current status of the image formingapparatus 20 (the second composite image 502).

5. Conclusion

Typically, when an information processing apparatus executes a softwareprogram for driving and/or managing an image forming apparatus, theinformation processing apparatus displays images showing the imageforming apparatus and devices actually attached to the image formingapparatus on a display device. When executing a software program fordriving an image forming apparatus (for example, printer driver), aninformation processing apparatus displays the model of the image formingapparatus and the devices optionally attached to the image formingapparatus. When executing a software program for managing an imageforming apparatus (for example, device manager software), an informationprocessing apparatus displays a part of the image forming apparatus, inwhich an error occurs, as follows. For example, a cassette or a door inan open status is displayed, an error icon is displayed, a highlighteditem is displayed, or the like. Those images are different depending onnot only models of image forming apparatuses but also devices optionallyattached to an image forming apparatus.

In order to display the image, therefore, the information processingapparatus determines the model of the image forming apparatus and thedevices optionally attached to the image forming apparatus, andgenerates images of the determined image forming apparatus and devices.Further, in order to display an error, it is necessary for theinformation processing apparatus to generate different images byhighlighting different error parts depending on different models, or togenerate different images of devices (paper cassettes, doors, etc.)depending on optionally attached devices. In other words, it isnecessary for the information processing apparatus to generate a largenumber of combinations of images.

In order to generate a large number of combinations of images, accordingto a conceivable method, for example, a rendering part in Windows(registered trademark) and a data part storing text informationnecessary to image processing depending on models are configured byusing Open GL (Open Graphics Library). According to this method, textinformation indicating the XYZ positions of every image part informationis generated, and a rendering processor module renders every image part.As a result, the rendering processor module renders a 3D animationimage. Meanwhile, it is necessary to generate a large number of partinformation and error information for respective models of image formingapparatuses and respective devices attachable to an image formingapparatus. Because of this, work burdens may be large in order tosupport new models of image forming apparatuses or new models ofdevices.

Further, the process of rendering images in RC (Rendering context) byusing Open GL and displaying the images on a display (i.e., inassociation with HDC (Device Context Handle) dedicated to Windows(registered trademark)) is executable only in Windows (registeredtrademark). However, it is desirable that such process be executableirrespective of differences of platforms such as browsers other thanInternet Explorer (registered trademark) and OSs such as Mac (registeredtrademark) or Linux (registered trademark).

In addition, to a large-size production printer, a larger number ofvarious types of devices are attachable than devices attachable to anMFP. In view of the above, the rendering process may be more and morecomplicated in the aforementioned method using Open GL.

To the contrary, according to the present embodiment, the informationprocessing apparatus 10 does not define part information necessary torender an image for every device, and does not render the image by arendering processor module. Instead, according to the presentembodiment, the information processing apparatus 10 stores the imageparts 311 and 312 in the device configuration definition 300 inassociation with each model of the image forming apparatus 20. Each ofthe image parts 311 and 312 is a PNG image prepared for each device,which is physically detachable to the image forming apparatus 20 byuser. Further, the information processing apparatus 10 stores theplurality of offset information definitions 351 and 352 of the imageparts 311 and 312 in the device configuration definition 300 inassociation with each model of the image forming apparatus 20.

According to this configuration, depending on the devices actually andphysically attached to the image forming apparatus 20 and depending onan error that occurs in the image forming apparatus 20 or a device, thedevice image module 200 reads the definitions 321 and 331 of thenecessary image parts 311 and 312, and reads the corresponding offsetinformation definitions 351 and 352. Then the device image processor 111arranges, on the basis of the read offset information definitions 351and 352, the image parts 311 and 312 read on the basis of thedefinitions 321 and 331. As a result, irrespective of the types and thenumber of devices actually and physically attached to the image formingapparatus 20 (i.e., even if a large number of devices are attached), itis possible to generate, update, and display composite images without aneed of complicated rendering process.

Further, according to the present embodiment, the device image processor111 depends on the OS 100 and, meanwhile, the device image module 200 isindependent of the OS 100. The device image module 200, which isindependent of the OS 100, stores the image parts 311 and 312, reads thedefinitions 321 and 331 of the image parts 311 and 312, and reads thecorresponding offset information definitions 351 and 352. Then the OS100, which depends on the device image processor 111, arranges, on thebasis of the read offset information definitions 351 and 352, the imageparts 311 and 312 read on the basis of the definitions 321 and 331. As aresult, irrespective of the type of the OS 100, it is possible togenerate, update, and display composite images reliably on everyplatform.

According to a conceivable technology, after an error occurs, an imageshowing an error occurred in one of the image forming apparatus 20 and aplurality of devices actually attached to the image forming apparatus 20is displayed on the image forming apparatus 20. According to thismethod, a dealer or an end user copes with the error only after theerror occurs actually. As a result, the dealer or the end user may, onlyafter the error occurs, notice the necessity of replacement of aconsumable item or a part, order the consumable item or the part, andreplace the consumable item or the part. In this case, there arises adowntime in which one of the image forming apparatus 20 and theplurality of devices actually attached to the image forming apparatus 20cannot be used. To the contrary, according to the present embodiment, onthe basis of errors (for example, paper empty) occurred in the past, animage showing a recommended device (for example, paper feeder), which isa device to be attached to the image forming apparatus 20, is displayedon the image forming apparatus 20. As a result, a dealer or an end usermay fundamentally solve (for example, by installing an additional paperfeeder) an error, which is predicted to occur in the future. As aresult, the downtime may be eliminated or reduced. At the same time, itpromotes the sales of the consumable item or the part.

It should be understood by those skilled in the art that variousmodifications, combinations, sub-combinations and alterations may occurdepending on design requirements and other factors insofar as they arewithin the scope of the appended claims or the equivalents thereof.

What is claimed is:
 1. An information processing apparatus, comprising:a communication interface configured to communicate with an imageforming apparatus; a display device; a storage device that stores deviceconfiguration definitions including a plurality of device image partsindicating the image forming apparatus and one or more devicesphysically attachable to the image forming apparatus, respectively, aplurality of device image definitions defining the plurality of deviceimage parts with respect to a plurality of device identifiersidentifying the image forming apparatus and the one or more devices,respectively, and a plurality of device offset information definitionsdefining offset amounts with respect to the plurality of deviceidentifiers, respectively, the offset amounts indicating relativepositions of the plurality of device image parts, respectively; and aprocessor configured to operate as a device image processor carried outby a software executing module, the software executing module beingconfigured to execute a software program for driving and/or managing theimage forming apparatus on an OS (Operation System), a device statusprocessor carried out by the software executing module, an analyzermodule configured to communicate with the device status processor, and adevice image module configured to communicate with the device imageprocessor, the device status processor being configured to receive, fromthe image forming apparatus, a plurality of device identifiersidentifying the image forming apparatus and one or more devices actuallyattached to the image forming apparatus, respectively, and statusinformation being information of a status of the image formingapparatus, and send the plurality of device identifiers and the statusinformation to the analyzer module, the analyzer module being configuredto receive the plurality of device identifiers and the statusinformation from the device status processor, analyze the statusinformation to thereby determine an error occurred in one of the imageforming apparatus and the one or more devices, determine, on a basis ofthe determined error, a recommended device being a device to be attachedto the image forming apparatus, and send, to the device statusprocessor, a recommended device identifier being a device identifieridentifying the recommended device determined, the device statusprocessor being configured to receive the recommended device identifierfrom the analyzer module, and supply the plurality of device identifiersand the recommended device identifier to the device image processor, thedevice image processor being configured to obtain the plurality ofdevice identifiers and the recommended device identifier from the devicestatus processor, and send the plurality of obtained device identifiersand the obtained recommended device identifier to the device imagemodule, the device image module being configured to receive theplurality of device identifiers and the recommended device identifierfrom the device image processor, read, from the device configurationdefinition, a plurality of device image definitions defined with respectto the plurality of received device identifiers and the recommendeddevice identifier, respectively, read, from the device configurationdefinition, a plurality of device offset information definitions definedwith respect to the plurality of received device identifiers and therecommended device identifier, respectively, and send, to the deviceimage processor, the plurality of read device image definitions and theplurality of read device offset information definitions, the deviceimage processor being configured to receive the plurality of deviceimage definitions and the plurality of device offset informationdefinitions from the device image module, read, from the deviceconfiguration definition, a plurality of device image parts defined bythe plurality of received device image definitions, respectively,arrange the plurality of read device image parts on a plurality ofoffset positions defined by the plurality of received device offsetinformation definitions, respectively, to thereby generate a compositeimage, the composite image showing a status where the one or moredevices and the recommended device are attached to the image formingapparatus, and cause the software executing module to display thecomposite image on the display device.
 2. The information processingapparatus according to claim 1, wherein the device image processor isconfigured to generate the composite image, the composite imageincluding a message for advising to use the recommended device.
 3. Theinformation processing apparatus according to claim 1, wherein thedevice image processor is configured to arrange the plurality of deviceimage parts identifying the image forming apparatus and one or moredevices actually attached to the image forming apparatus, respectively,on a plurality of offset positions defined by the plurality of receiveddevice offset information definitions, respectively, to thereby generatea different composite image, the different composite image showing astatus where the one or more devices are attached to the image formingapparatus, and cause the software executing module to display thedifferent composite image on the display device.
 4. The informationprocessing apparatus according to claim 1, wherein the storage device isconfigured to store the plurality of device configuration definitions,the plurality of device configuration definitions are in one-to-oneassociation with a plurality of model identifiers, respectively, theplurality of model identifiers identifying a plurality of models of animage forming apparatus, the device image processor is configured toobtain a model identifier identifying a model of the image formingapparatus as a device identifier identifying the image forming apparatusreceived from the image forming apparatus by the software executingmodule, and send the obtained model identifier to the device imagemodule, and the device image module is configured to receive the modelidentifier from the device image processor, and use a deviceconfiguration definition in association with the model identifier.
 5. Aninformation processing method executable by an information processingapparatus including a communication interface configured to communicatewith an image forming apparatus, a display device, a storage device thatstores device configuration definitions including a plurality of deviceimage parts indicating the image forming apparatus and one or moredevices physically attachable to the image forming apparatus,respectively, a plurality of device image definitions defining theplurality of device image parts with respect to a plurality of deviceidentifiers identifying the image forming apparatus and the one or moredevices, respectively, and a plurality of device offset informationdefinitions defining offset amounts with respect to the plurality ofdevice identifiers, respectively, the offset amounts indicating relativepositions of the plurality of device image parts, respectively, and aprocessor configured to operate as a device image processor carried outby a software executing module, the software executing module beingconfigured to execute a software program for driving and/or managing theimage forming apparatus on an OS (Operation System), a device statusprocessor carried out by the software executing module, an analyzermodule configured to communicate with the device status processor, and adevice image module configured to communicate with the device imageprocessor, the information processing method comprising: by the devicestatus processor, receiving, from the image forming apparatus, aplurality of device identifiers identifying the image forming apparatusand one or more devices actually attached to the image formingapparatus, respectively, and status information being information of astatus of the image forming apparatus, and sending the plurality ofdevice identifiers and the status information to the analyzer module; bythe analyzer module, receiving the plurality of device identifiers andthe status information from the device status processor, analyzing thestatus information to thereby determine an error occurred in one of theimage forming apparatus and the one or more devices, determining, on abasis of the determined error, a recommended device being a device to beattached to the image forming apparatus, and sending, to the devicestatus processor, a recommended device identifier being a deviceidentifier identifying the recommended device determined; by the devicestatus processor, receiving the recommended device identifier from theanalyzer module, and supplying the plurality of device identifiers andthe recommended device identifier to the device image processor; by thedevice image processor, obtaining the plurality of device identifiersand the recommended device identifier from the device status processor,and sending the plurality of obtained device identifiers and theobtained recommended device identifier to the device image module; bythe device image module, receiving the plurality of device identifiersand the recommended device identifier from the device image processor,reading, from the device configuration definition, a plurality of deviceimage definitions defined with respect to the plurality of receiveddevice identifiers and the recommended device identifier, respectively,reading, from the device configuration definition, a plurality of deviceoffset information definitions defined with respect to the plurality ofreceived device identifiers and the recommended device identifier,respectively, and sending, to the device image processor, the pluralityof read device image definitions and the plurality of read device offsetinformation definitions; and by the device image processor, receivingthe plurality of device image definitions and the plurality of deviceoffset information definitions from the device image module, reading,from the device configuration definition, a plurality of device imageparts defined by the plurality of received device image definitions,respectively, arranging the plurality of read device image parts on aplurality of offset positions defined by the plurality of receiveddevice offset information definitions, respectively, to thereby generatea composite image, the composite image showing a status where the one ormore devices and the recommended device are attached to the imageforming apparatus, and causing the software executing module to displaythe composite image on the display device.
 6. The information processingmethod according to claim 5, further comprising: by the device imageprocessor, generating the composite image, the composite image includinga message for advising to use the recommended device.
 7. The informationprocessing method according to claim 5, further comprising: by thedevice image processor, arranging the plurality of device image partsidentifying the image forming apparatus and one or more devices actuallyattached to the image forming apparatus, respectively, on a plurality ofoffset positions defined by the plurality of received device offsetinformation definitions, respectively, to thereby generate a differentcomposite image, the different composite image showing a status wherethe one or more devices are attached to the image forming apparatus, andcausing the software executing module to display the different compositeimage on the display device.
 8. The information processing methodaccording to claim 5, wherein the storage device is configured to storethe plurality of device configuration definitions, and the plurality ofdevice configuration definitions are in one-to-one association with aplurality of model identifiers, respectively, the plurality of modelidentifiers identifying a plurality of models of an image formingapparatus, the information processing method further comprising: by thedevice image processor, obtaining a model identifier identifying a modelof the image forming apparatus as a device identifier identifying theimage forming apparatus received from the image forming apparatus by thesoftware executing module, and sending the obtained model identifier tothe device image module; and by the device image module, receiving themodel identifier from the device image processor, and using a deviceconfiguration definition in association with the model identifier.